تعلم كيف تنشئ مدونة باستخدام Ghost و Nginx على Ubuntu
يُعتبر إنشاء مدونة شخصية أو موقع إلكتروني احترافي خطوة مهمة لأي شخص يسعى لبناء حضور رقمي قوي ونشر محتوى مميز. من بين الأنظمة الحديثة التي اكتسبت شعبية كبيرة لإنشاء المدونات ومواقع النشر، تأتي منصة Ghost كخيار متقدم وفعال. تتميز Ghost بكونها منصة مفتوحة المصدر تركز على البساطة والسرعة وتجربة المستخدم الممتازة، مع دعم ممتاز للكتابة التحريرية والنشر المستمر.
في هذا المقال، سنتناول شرحاً مفصلاً وموسعاً حول كيفية إنشاء مدونة باستخدام Ghost على نظام التشغيل Ubuntu، مع استخدام خادم الويب Nginx لتوجيه حركة المرور وتأمين الموقع. سنستعرض الخطوات التقنية كاملة بدءًا من تثبيت المتطلبات الأساسية إلى إعداد Ghost وتشغيله تحت Nginx، مع شرح تفصيلي لكل مرحلة لضمان تنفيذ العملية بسلاسة.
ما هو Ghost؟
Ghost هو نظام إدارة محتوى مفتوح المصدر متخصص في إنشاء المدونات والمواقع التي تركز على المحتوى التحريري. يتم تطويره باستخدام Node.js، ويتميز بواجهة استخدام حديثة وسهلة، مع دعم قوي للكتابة التفاعلية، وإمكانيات متقدمة مثل النشر المجدول، ودعم القوالب، والتحليلات المتكاملة.
Ghost يقدم تجربة استخدام خفيفة الوزن مقارنة بمنصات أخرى مثل WordPress، ويتيح إمكانيات تخصيص عالية، مما يجعله مناسبًا للمدونين، والصحفيين، والكتّاب، والشركات الصغيرة التي ترغب في منصة نشر سريعة وآمنة.
المتطلبات الأساسية لإنشاء مدونة Ghost على Ubuntu
قبل البدء في تثبيت Ghost، يجب التأكد من توفر بعض المتطلبات الأساسية على نظام Ubuntu الذي تستخدمه. هذه المتطلبات تشمل:
-
نسخة حديثة من Ubuntu (يفضل Ubuntu 20.04 أو 22.04)
-
صلاحيات مستخدم
sudoأو المستخدم الجذري root -
تثبيت Node.js (الإصدار 14 أو أحدث)
-
تثبيت npm (مدير حزم Node.js)
-
قاعدة بيانات MySQL أو SQLite (Ghost يدعم SQLite بشكل افتراضي لكنه يفضل MySQL للمدونات الكبيرة)
-
خادم Nginx مثبت وفعال
-
شهادة SSL (اختياري لكن موصى به لتأمين الموقع)
-
أدوات مساعدة مثل curl وgit
الخطوة الأولى: تحديث النظام وتثبيت الأدوات الأساسية
للبدء، يُفضل تحديث الحزم الموجودة في نظام Ubuntu لضمان التوافق مع البرمجيات الجديدة. يمكن تنفيذ ذلك باستخدام الأمر:
bashsudo apt update && sudo apt upgrade -y
بعد ذلك، تثبيت الأدوات الأساسية المطلوبة مثل curl وgit:
bashsudo apt install curl git -y
الخطوة الثانية: تثبيت Node.js و npm
Ghost يعتمد على Node.js، لذا يجب تثبيت نسخة حديثة ومستقرة من Node.js و npm. يفضل استخدام Node Version Manager (nvm) لتسهيل إدارة نسخ Node.js المختلفة. لتثبيت nvm:
bashcurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
بعد تثبيت nvm، يمكن تحميل وتثبيت أحدث نسخة مستقرة من Node.js:
bashsource ~/.bashrc
nvm install 18
nvm use 18
يمكن التأكد من التثبيت عبر:
bashnode -v npm -v
الخطوة الثالثة: تثبيت قاعدة بيانات MySQL
على الرغم من أن Ghost يدعم SQLite بشكل افتراضي، فإن استخدام MySQL يمنح أداءً أفضل للمدونات الأكبر ويوفر مرونة أكبر.
لتثبيت MySQL:
bashsudo apt install mysql-server -y
بعد التثبيت، قم بتأمين MySQL باستخدام:
bashsudo mysql_secure_installation
قم بإنشاء قاعدة بيانات ومستخدم خاص بـ Ghost:
bashsudo mysql -u root -p
داخل واجهة MySQL، قم بتنفيذ الأوامر التالية:
sqlCREATE DATABASE ghostdb;
CREATE USER 'ghostuser'@'localhost' IDENTIFIED BY 'كلمة_مرور_قوية';
GRANT ALL PRIVILEGES ON ghostdb.* TO 'ghostuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
الخطوة الرابعة: تثبيت Ghost CLI
Ghost CLI هو أداة رسمية لإدارة تثبيت وتشغيل تحديثات منصة Ghost بسهولة. لتثبيت Ghost CLI عالميًا عبر npm:
bashnpm install -g ghost-cli
الخطوة الخامسة: إعداد مجلد التثبيت وبدء التثبيت
من الأفضل إنشاء مجلد مخصص للمدونة، مثلاً داخل /var/www/:
bashsudo mkdir -p /var/www/ghost
sudo chown $USER:$USER /var/www/ghost
cd /var/www/ghost
ابدأ تثبيت Ghost باستخدام الأمر:
bashghost install
هذه العملية ستقوم بتثبيت النسخة الأخيرة من Ghost، إعداد خدمة النظام لتشغيل Ghost تلقائيًا، تثبيت SSL عبر Let’s Encrypt (إذا كنت متصلاً بإنترنت ويمتلك المجال إعداد DNS صالح)، بالإضافة إلى تكوين Nginx تلقائيًا.
الخطوة السادسة: التحقق من إعداد Ghost
بعد الانتهاء من التثبيت، يمكنك التحقق من أن Ghost يعمل بشكل صحيح عن طريق:
bashghost ls
لعرض حالة الخدمة، استخدم:
bashghost status
ستجد عنوان المدونة المحلية التي يمكن الوصول إليها عادة على المنفذ 2368.
الخطوة السابعة: إعداد Nginx كخادم عكسي (Reverse Proxy)
في حال لم تقم Ghost تلقائيًا بإعداد Nginx أثناء التثبيت، يمكنك إعداد ملف تكوين يدويًا لخادم Nginx ليعمل كخادم عكسي يقوم بتوجيه الطلبات من المنفذ 80 و443 إلى منفذ Ghost 2368.
مثال لتكوين ملف Nginx لـ Ghost:
nginxserver {
listen 80;
server_name yourdomain.com www.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:2368;
proxy_set_header Host $host;
proxy_buffering off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
}
location ~ /.well-known/acme-challenge {
allow all;
}
}
يمكنك تفعيل هذا التكوين بإضافة ملف في مجلد /etc/nginx/sites-available/ghost ثم ربطه:
bashsudo ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
الخطوة الثامنة: تأمين الموقع باستخدام HTTPS
يمكنك استخدام Let’s Encrypt لتأمين مدونتك عبر بروتوكول HTTPS مجانا. مع Ghost CLI، غالبًا ما يتم تثبيت الشهادة تلقائيًا، ولكن يمكن أيضًا تنفيذ الخطوات يدويًا باستخدام Certbot:
bashsudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
يتم بعدها تجديد الشهادات تلقائيًا من خلال إعداد Cron Job.
الخطوة التاسعة: إدارة وتحديث Ghost
Ghost CLI يوفر أوامر سهلة لإدارة المدونة مثل التحديث، إعادة التشغيل، النسخ الاحتياطي، وغيرها:
-
لتحديث Ghost:
bashghost update
-
لإعادة تشغيل الخدمة:
bashghost restart
-
لعرض الحالة:
bashghost status
الخطوة العاشرة: تخصيص مدونتك باستخدام واجهة Ghost
بعد إتمام التثبيت والتشغيل، يمكن الدخول إلى لوحة تحكم Ghost عبر:
arduinohttps://yourdomain.com/ghost
تستخدم لوحة التحكم لإدارة المحتوى، إنشاء المقالات، تعديل التصميم، إعداد المستخدمين، وإدارة الإعدادات الأساسية للمدونة. توفر Ghost دعمًا جيدًا للقوالب والتخصيص عبر CSS وJavaScript، كما يمكن تركيب إضافات لتحسين الوظائف.
مقارنة موجزة بين Ghost و WordPress
| الميزات | Ghost | WordPress |
|---|---|---|
| اللغة البرمجية | Node.js | PHP |
| سهولة الاستخدام | واجهة تحرير حديثة وسريعة | واجهة تقليدية ولكن معروفة |
| الأداء | سريع وخفيف الوزن | يعتمد على الإضافات والتهيئة |
| الأمان | جيد جدًا مع تحديثات مستمرة | يعتمد على الإضافات والتحديثات |
| الدعم والمجتمع | نشط ومتزايد | أكبر مجتمع وأكثر دعم |
| التكلفة | مفتوح المصدر، قد تحتاج لخدمات استضافة خاصة | مفتوح المصدر، استضافة متنوعة |
ملخص الخطوات العملية
| الخطوة | الوصف |
|---|---|
| تحديث النظام | تحديث حزم Ubuntu لضمان التوافق |
| تثبيت Node.js و npm | تثبيت بيئة تشغيل Ghost |
| تثبيت قاعدة بيانات | إعداد MySQL أو SQLite |
| تثبيت Ghost CLI | أداة لإدارة وتثبيت Ghost بسهولة |
| إعداد مجلد التثبيت | إنشاء مجلد مخصص للمدونة |
| تثبيت وتشغيل Ghost | بدء تثبيت Ghost وتكوينه |
| إعداد Nginx | توجيه حركة المرور وضبط الخادم |
| تأمين الموقع بـ HTTPS | تفعيل شهادة SSL لتأمين الاتصال |
| إدارة وتشغيل | تحديث وإعادة تشغيل وإدارة المدونة |
| تخصيص الواجهة | إدارة المحتوى والتصميم عبر لوحة Ghost |
خاتمة
إن منصة Ghost مع خادم Nginx على نظام Ubuntu تشكل بيئة قوية لإنشاء مدونات احترافية، تجمع بين الأداء العالي، البساطة، والأمان. بفضل الهيكلية القائمة على Node.js ووجود أدوات مساعدة مثل Ghost CLI، يمكن لأي مستخدم يمتلك الحد الأدنى من المهارات التقنية تنفيذ تثبيت وتخصيص المدونة بسهولة. تكامل Ghost مع Nginx يتيح لك إدارة حركة المرور بكفاءة، إضافة إلى تأمين الموقع باستخدام شهادات SSL المجانية من Let’s Encrypt.
هذا الإعداد يلبي احتياجات المدونين المبتدئين والمحترفين على حد سواء، ويوفر منصة حديثة للنشر الرقمي تركز على المحتوى مع تجربة مستخدم سلسة ومريحة. اتباع الخطوات المفصلة أعلاه يضمن لك بناء مدونة قوية، آمنة، وقابلة للتوسع مع نمو محتواك وجمهورك.
المصادر والمراجع
بهذا، يكون لديك دليل شامل وموثق لإنشاء مدونة Ghost على Ubuntu باستخدام Nginx، مع التركيز على خطوات عملية وتفصيلية تضمن لك بيئة نشر متكاملة.

